# -*- coding: utf-8 -*- 

from django.db import models
from website.constant import STUDY_TYPES_CHOICES
from website.customercontrol.models import TrainingContract, Student
from website.employecontrol.models import Employe
from website.resourcecontrol.models import SalaryLevel, Grade, Course, Company

# Create your models here.

#工资管理-->工资主表
class SalaryMain(models.Model):
    employe=models.ForeignKey(Employe,blank=True, null=True,related_name='salarymain_employe')# 员工
    salarylevel=models.ForeignKey(SalaryLevel,blank=True, null=True,related_name='salarymain_salarylevel')# 员工
    yearfee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#工龄工资
    monthfee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#全勤奖（考勤界面）
    dayfee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#生日费
    tc_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 个人合同提成
    tc_ratio=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 个人合同提成比例
    tc_all_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 团队合同提成
    # 教师课时提成
    course_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 个人合同提成
    course_all_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 团队合同提成
    # 教师托管提成
    trusteeship_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 作业托管提成
    # 邀约提成
    call_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 邀约提成
    # 学管师课时提成 sm=studnetManager
    #course_sm_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 个人合同提成
    #course_sm_all_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 团队合同提成
    # 学管师托管提成 -- 共用教师字段
    #trusteeship_sm_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 作业托管提成
    
    performance_no=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#绩效考核分数
    insure_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#保险扣款
    month = models.DateField(blank=True, null=True)# 统计工资月份
    state = models.CharField(max_length=10,blank=True, null=True)# 状态(0:待审核,1:有效)
    remark=models.CharField(max_length=255,blank=True, null=True)# 备注

    
    
#工资管理-->工资提成明细表
class SalaryTCDetail(models.Model):
    employe=models.ForeignKey(Employe,blank=True, null=True,related_name='salarydetail_employe')# 员工
    trainingcontract=models.ForeignKey(TrainingContract,blank=True, null=True,related_name='salarydetail_employe')# 合同
    course=models.ForeignKey('resourcecontrol.Course',blank=True, null=True,related_name='salarydetail_course')# 课程ID
    study_type=models.IntegerField(max_length=1,choices=STUDY_TYPES_CHOICES)# 学习方式
    e1=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#实收现金
    e2=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#实收刷卡
    self_ratio=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#提成比例
    real_e=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#实际业绩
    rebate=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#课程折扣
    fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True) #提成金额
    rebate_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True) #提成折后金额
    month = models.DateField(blank=True, null=True)# 统计工资月份
    remark=models.CharField(max_length=255,blank=True, null=True)# 备注
    
    
#工资管理-->工资提成明细表-课时(教师)
class SalaryCourseTimesDetail(models.Model):
    company=models.ForeignKey(Company,blank=True, null=True,related_name='coursetimes_company')# 学生所在校区(new)
    student=models.ForeignKey(Student,blank=True, null=True,related_name='coursetimes_student')# 学生(new)
    grade=models.ForeignKey(Grade,blank=True, null=True,related_name='coursetimes_grade')# 年级 (new)
    course=models.ForeignKey('resourcecontrol.Course',blank=True, null=True,related_name='coursetimes_course')# 课程ID
    employe=models.ForeignKey(Employe,blank=True, null=True,related_name='coursetimes_employe')# 员工
                                                                                               # 员工状态(教师： 全职，兼职)
    do_time=models.DateField(blank=True, null=True)#上课日期
    begin_time=models.CharField(max_length=50,blank=True, null=True)#上课开始时间
    end_time=models.CharField(max_length=50,blank=True, null=True)# 上课结束时间
    
    study_type=models.IntegerField(max_length=1,choices=STUDY_TYPES_CHOICES,blank=True, null=True)# 学习方式
    course_times=models.IntegerField(max_length=1,choices=STUDY_TYPES_CHOICES,blank=True, null=True)# 课时
    student_manager=models.ForeignKey(Employe,blank=True, null=True,related_name='coursetimes_studentmanager')# 学管师(新)
    student_manager_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#单价(new)
    price=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#单价
    ratio=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#提成比例
    fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#提成金额
    month = models.DateField(blank=True, null=True)# 统计工资月份
    remark=models.CharField(max_length=255,blank=True, null=True)# 备注

#工资管理-->工资提成明细表-托管(教师)
class SalaryTrusteeshipDetail(models.Model):
    employe=models.ForeignKey(Employe,blank=True, null=True,related_name='trusteeship_employe')# 员工
    student=models.ForeignKey(Student,blank=True, null=True,related_name='trusteeship_student')# 学生
    grade=models.ForeignKey(Grade,blank=True, null=True,related_name='trusteeship_grade')# 年级
    course=models.ForeignKey(Course,blank=True, null=True,related_name='trusteeship_course')# 课程
    days=models.CharField(max_length=50,blank=True, null=True)#托管天数
    fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#提成金额
    month = models.DateField(blank=True, null=True)# 统计工资月份
    remark=models.CharField(max_length=255,blank=True, null=True)# 备注
    
    
    
    
#工资管理-->工资提成明细表-课时(学管师,主管)
class SalaryCourseTimesManagerDetail(models.Model):
    employe=models.ForeignKey(Employe,blank=True, null=True,related_name='coursetimesmanager_employe')# 员工
    expect_course=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 计划消耗总课时
    real_course=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 实际消耗总课时
    real_course_price=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 实际消耗总课时价格
    ratio=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 提成系数
    real_fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 实际课时总提成
    # 上面上总额，下面是明细
    student=models.ForeignKey(Student,blank=True, null=True,related_name='coursetimesmanager_student')# 学生
    grade=models.ForeignKey(Grade,blank=True, null=True,related_name='coursetimesmanager_grade')# 年级
    course=models.ForeignKey(Course,blank=True, null=True,related_name='coursetimesmanager_course')# 课程
    course_times=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 当前课时
    price=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 当前单价
    fee=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)# 单比提成
    month = models.DateField(blank=True, null=True)# 统计工资月份
    remark=models.CharField(max_length=255,blank=True, null=True)# 备注
    
#工资管理-->任务分解   总课时=计划课时+新签课时
class CompanyTask(models.Model):
    company=models.ForeignKey('resourcecontrol.Company',blank=True, null=True,related_name='task_company')    #校区
    month = models.DateField(blank=True, null=True)# 月份
    task_price=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#总任务合计
    task_new=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#新签任务
    course_expect=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#计划课时
    course_new=models.DecimalField(max_digits=10, decimal_places=2,blank=True, null=True)#新签课时
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    